﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using SGRapidForm.Foundation.Entity;
using SGRapidForm.Common;

namespace SGRapidForm.Foundation.Service.Interface
{
    [ServiceContract(Namespace = "http://www.solutiongear.net/SGRapidForm/")]
    public interface IFoundationClassService
    {
        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<FoundationClassEntity> GetFoundationClassList();
        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool GetAllList();
        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        int GetFoundationClassCount(String filterConditions);
        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        List<FoundationClassEntity> GetFoundationClass(Int32 startRecord, Int32 maxRecords, String sortColumns, String filterConditions);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        FoundationClassEntity GetFoundationClassByKeyid(string keyid);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool DeleteFoundationClass(string keyid);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool Foundation_BulkDelete(string keyids);
        
        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool UpdateFoundationClass(FoundationClassEntity foundationClass);

        [OperationContract]
        [FaultContract(typeof(ServiceExceptionDetail))]
        bool AddFoundationClass(FoundationClassEntity foundationClass);
    }
}
